
/*
 * BuscarVendedor.java
 *
 * Created on 02/06/2009, 08:59:48
 * Copyright Administrador
 */
package Soligee.view;

import Soligee.controller.facade.sessionFacadeImplements.*;
import Soligee.controller.facade.sessionFacadeImplements.SessionFacadeRemoverImplements;
import com.icesoft.faces.component.ext.HtmlCommandButton;
import com.icesoft.faces.component.ext.HtmlDataTable;
import com.icesoft.faces.component.ext.HtmlInputSecret;
import com.icesoft.faces.component.ext.HtmlOutputText;
import com.icesoft.faces.component.ext.HtmlSelectOneMenu;
import com.icesoft.faces.component.jsfcl.data.DefaultSelectedData;
import com.icesoft.faces.component.jsfcl.data.DefaultSelectionItems;
import com.icesoft.faces.component.jsfcl.data.DefaultTableDataModel;
import com.icesoft.faces.component.jsfcl.data.PopupBean;
import com.icesoft.faces.component.panelpopup.PanelPopup;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import Soligee.controller.facade.sessionFacadeImplements.SessionFacadeBuscarImplements;
import Soligee.decorador.PaginacaoListaCincoEmCinco;
import Soligee.decorador.PaginacaoListaDezEmDez;
import Soligee.decorador.ValidaCamposObrigatorios;
import Soligee.model.vo.cadastros.PessoaFisicaVO;
import java.util.List;
import javax.faces.FacesException;
import javax.faces.component.html.HtmlCommandLink;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import Soligee.model.vo.cadastros.UsuarioVO;
import com.icesoft.faces.component.selectinputtext.SelectInputText;
import java.util.ArrayList;
import javax.faces.context.FacesContext;

public class BuscarUsuario extends AbstractPageBean {
   // <editor-fold defaultstate="collapsed" desc="Managed Component Definition">

   private int __placeholder;
   private DefaultSelectionItems item; //item do autocomplete
   private static UsuarioVO usuario;
   private List<UsuarioVO> listaDeUsuarios = new ArrayList(); //lista para preencher a tabela para visualizacao com os dados
   //atributo utilizado para a paginacao da tabela
   private static PaginacaoListaCincoEmCinco paginacaoLista;

   public static PaginacaoListaCincoEmCinco getPaginacaoLista() {
      return paginacaoLista;
   }

   public static void setPaginacaoLista(PaginacaoListaCincoEmCinco paginacaoLista) {
      BuscarUsuario.paginacaoLista = paginacaoLista;
   }

   public DefaultSelectionItems getItem() {
      return item;
   }

   public void setItem(DefaultSelectionItems item) {
      this.item = item;
   }

   /**
    * <p>Automatically managed component initialization.  <strong>WARNING:</strong>
    * This method is automatically generated, so any user-specified code inserted
    * here is subject to being replaced.</p>
    */
   private void _init() throws Exception {
   }
   private DefaultTableDataModel dataTable1Model = new DefaultTableDataModel();

   public DefaultTableDataModel getDataTable1Model() {
      return dataTable1Model;
   }

   public void setDataTable1Model(DefaultTableDataModel dtdm) {
      this.dataTable1Model = dtdm;
   }
   private DefaultSelectedData selectOneMenu1Bean = new DefaultSelectedData();

   public DefaultSelectedData getSelectOneMenu1Bean() {
      return selectOneMenu1Bean;
   }

   public void setSelectOneMenu1Bean(DefaultSelectedData dsd) {
      this.selectOneMenu1Bean = dsd;
   }
   private HtmlSelectOneMenu tipoBusca = new HtmlSelectOneMenu();

   public HtmlSelectOneMenu getTipoBusca() {
      return tipoBusca;
   }

   public void setTipoBusca(HtmlSelectOneMenu hsom) {
      this.tipoBusca = hsom;
   }
   private HtmlCommandButton btn_buscar = new HtmlCommandButton();

   public HtmlCommandButton getBtn_buscar() {
      return btn_buscar;
   }

   public void setBtn_buscar(HtmlCommandButton hcb) {
      this.btn_buscar = hcb;
   }
   private HtmlCommandButton btn_editar1 = new HtmlCommandButton();

   public HtmlCommandButton getBtn_editar1() {
      return btn_editar1;
   }

   public void setBtn_editar1(HtmlCommandButton hcb) {
      this.btn_editar1 = hcb;
   }
   private HtmlCommandButton btn_excluir1 = new HtmlCommandButton();

   public HtmlCommandButton getBtn_excluir1() {
      return btn_excluir1;
   }

   public void setBtn_excluir1(HtmlCommandButton hcb) {
      this.btn_excluir1 = hcb;
   }
   private HtmlDataTable tabelaResultadoBusca = new HtmlDataTable();

   public HtmlDataTable getTabelaResultadoBusca() {
      return tabelaResultadoBusca;
   }

   public void setTabelaResultadoBusca(HtmlDataTable hdt) {
      this.tabelaResultadoBusca = hdt;
   }
   private DefaultSelectedData tipoSelecionado = new DefaultSelectedData();

   public DefaultSelectedData getTipoSelecionado() {
      return tipoSelecionado;
   }

   public void setTipoSelecionado(DefaultSelectedData tipoSelecionado) {
      this.tipoSelecionado = tipoSelecionado;
   }
   private DefaultSelectedData defaultSelectedData1 = new DefaultSelectedData();

   public DefaultSelectedData getDefaultSelectedData1() {
      return defaultSelectedData1;
   }

   public void setDefaultSelectedData1(DefaultSelectedData dsd) {
      this.defaultSelectedData1 = dsd;
   }
   private DefaultSelectionItems selectOneMenu1DefaultItems1 = new DefaultSelectionItems();

   public DefaultSelectionItems getSelectOneMenu1DefaultItems1() {
      return selectOneMenu1DefaultItems1;
   }

   public void setSelectOneMenu1DefaultItems1(DefaultSelectionItems dsi) {
      this.selectOneMenu1DefaultItems1 = dsi;
   }
   private DefaultSelectionItems tipoBuscaDefaultItems = new DefaultSelectionItems();

   public DefaultSelectionItems getTipoBuscaDefaultItems() {
      return tipoBuscaDefaultItems;
   }

   public void setTipoBuscaDefaultItems(DefaultSelectionItems tipoBuscaDefaultItems) {
      this.tipoBuscaDefaultItems = tipoBuscaDefaultItems;
   }
   private DefaultSelectionItems selectOneMenu1DefaultItems2 = new DefaultSelectionItems();
   private DefaultSelectionItems selectOneMenu1DefaultItems3 = new DefaultSelectionItems();

   public DefaultSelectionItems getSelectOneMenu1DefaultItems2() {
      return selectOneMenu1DefaultItems2;
   }

   public void setSelectOneMenu1DefaultItems2(DefaultSelectionItems selectOneMenu1DefaultItems2) {
      this.selectOneMenu1DefaultItems2 = selectOneMenu1DefaultItems2;
   }

   public DefaultSelectionItems getSelectOneMenu1DefaultItems3() {
      return selectOneMenu1DefaultItems3;
   }

   public void setSelectOneMenu1DefaultItems3(DefaultSelectionItems selectOneMenu1DefaultItems3) {
      this.selectOneMenu1DefaultItems3 = selectOneMenu1DefaultItems3;
   }
   private SelectInputText campoLogin = new SelectInputText();

   public SelectInputText getCampoLogin() {
      return campoLogin;
   }

   public void setCampoLogin(SelectInputText hit) {
      this.campoLogin = hit;
   }
   private HtmlInputSecret campoSenha = new HtmlInputSecret();

   public HtmlInputSecret getCampoSenha() {
      return campoSenha;
   }

   public void setCampoSenha(HtmlInputSecret his) {
      this.campoSenha = his;
   }
   private HtmlSelectOneMenu nivelUsuario = new HtmlSelectOneMenu();

   public HtmlSelectOneMenu getNivelUsuario() {
      return nivelUsuario;
   }

   public void setNivelUsuario(HtmlSelectOneMenu hsom) {
      this.nivelUsuario = hsom;
   }
   private PopupBean panelPopup1Bean = new PopupBean();

   public PopupBean getPanelPopup1Bean() {
      return panelPopup1Bean;
   }

   public void setPanelPopup1Bean(PopupBean pb) {
      this.panelPopup1Bean = pb;
   }
   /*private PanelPopup panelPopUp = new PanelPopup();

   public PanelPopup getPanelPopUp() {
   return panelPopUp;
   }

   public void setPanelPopUp(PanelPopup pp) {
   this.panelPopUp = pp;
   }*/
   private HtmlOutputText textoPopUp = new HtmlOutputText();

   public HtmlOutputText getTextoPopUp() {
      return textoPopUp;
   }

   public void setTextoPopUp(HtmlOutputText hot) {
      this.textoPopUp = hot;
   }
   private HtmlCommandButton btnPopUp1 = new HtmlCommandButton();

   public HtmlCommandButton getBtnPopUp1() {
      return btnPopUp1;
   }

   public void setBtnPopUp1(HtmlCommandButton hcb) {
      this.btnPopUp1 = hcb;
   }
   private HtmlCommandButton btnPopUp2 = new HtmlCommandButton();

   public HtmlCommandButton getBtnPopUp2() {
      return btnPopUp2;
   }

   public void setBtnPopUp2(HtmlCommandButton hcb) {
      this.btnPopUp2 = hcb;
   }
   private HtmlCommandButton btnAlterar = new HtmlCommandButton();

   public HtmlCommandButton getBtnAlterar() {
      return btnAlterar;
   }

   public void setBtnAlterar(HtmlCommandButton hcb) {
      this.btnAlterar = hcb;
   }

   // </editor-fold>
   private List<PessoaFisicaVO> listaDePessoas = new ArrayList();
   private HtmlCommandButton btn_excluir = new HtmlCommandButton();
   private boolean controle;
   private int controlaSaida =0;
   private ValidaCamposObrigatorios valida = new ValidaCamposObrigatorios();
    public static PaginacaoListaDezEmDez getPaginacaoBusca() {
        return paginacaoBusca;
    }

    public static void setPaginacaoBusca(PaginacaoListaDezEmDez paginacaoBusca) {
        BuscarUsuario.paginacaoBusca = paginacaoBusca;
    }
   private static PaginacaoListaDezEmDez paginacaoBusca;

   public HtmlCommandButton getBtn_excluir() {
      return btn_excluir;
   }

   public void setBtn_excluir(HtmlCommandButton hcb) {
      this.btn_excluir = hcb;
   }
   private HtmlCommandButton btnBusca = new HtmlCommandButton();

   public HtmlCommandButton getBtnBusca() {
      return btnBusca;
   }

   public void setBtnBusca(HtmlCommandButton hcb) {
      this.btnBusca = hcb;
   }
   private HtmlCommandLink linkAction1 = new HtmlCommandLink();

   public HtmlCommandLink getLinkAction1() {
      return linkAction1;
   }

   public void setLinkAction1(HtmlCommandLink hcl) {
      this.linkAction1 = hcl;
   }
   private HtmlCommandButton btnBusca1 = new HtmlCommandButton();

   public HtmlCommandButton getBtnBusca1() {
      return btnBusca1;
   }

   public void setBtnBusca1(HtmlCommandButton hcb) {
      this.btnBusca1 = hcb;
   }
   private HtmlCommandButton btnBuscar = new HtmlCommandButton();

   public HtmlCommandButton getBtnBuscar() {
      return btnBuscar;
   }

   public void setBtnBuscar(HtmlCommandButton hcb) {
      this.btnBuscar = hcb;
   }
   private SelectInputText campoId = new SelectInputText();

   public SelectInputText getCampoId() {
      return campoId;
   }

   public void setCampoId(SelectInputText hit) {
      this.campoId = hit;
   }
   private HtmlCommandButton btnConfirmarAlteracao = new HtmlCommandButton();

   public HtmlCommandButton getBtnConfirmarAlteracao() {
      return btnConfirmarAlteracao;
   }

   public void setBtnConfirmarAlteracao(HtmlCommandButton hcb) {
      this.btnConfirmarAlteracao = hcb;
   }
   private SelectInputText campoNomeUsuario = new SelectInputText();

   public SelectInputText getCampoNomeUsuario() {
      return campoNomeUsuario;
   }

   public void setCampoNomeUsuario(SelectInputText hit) {
      this.campoNomeUsuario = hit;
   }
   private HtmlInputSecret campoConfirmacaoSenha = new HtmlInputSecret();

   public HtmlInputSecret getCampoConfirmacaoSenha() {
      return campoConfirmacaoSenha;
   }

   public void setCampoConfirmacaoSenha(HtmlInputSecret his) {
      this.campoConfirmacaoSenha = his;
   }
   private PanelPopup panelPopUp = new PanelPopup();

   public PanelPopup getPanelPopUp() {
      return panelPopUp;
   }

   public void setPanelPopUp(PanelPopup pp) {
      this.panelPopUp = pp;
   }
   private SelectInputText campoABuscar = new SelectInputText();

   public SelectInputText getCampoABuscar() {
      return campoABuscar;
   }

   public void setCampoABuscar(SelectInputText hit) {
      this.campoABuscar = hit;
   }
    private HtmlCommandButton tabelaResultadoBuscaFooterFirstButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaResultadoBuscaFooterFirstButton() {
        return tabelaResultadoBuscaFooterFirstButton;
    }

    public void setTabelaResultadoBuscaFooterFirstButton(HtmlCommandButton hcb) {
        this.tabelaResultadoBuscaFooterFirstButton = hcb;
    }
    private HtmlCommandButton tabelaResultadoBuscaFooterPreviousButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaResultadoBuscaFooterPreviousButton() {
        return tabelaResultadoBuscaFooterPreviousButton;
    }

    public void setTabelaResultadoBuscaFooterPreviousButton(HtmlCommandButton hcb) {
        this.tabelaResultadoBuscaFooterPreviousButton = hcb;
    }
    private HtmlCommandButton tabelaResultadoBuscaFooterNextButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaResultadoBuscaFooterNextButton() {
        return tabelaResultadoBuscaFooterNextButton;
    }

    public void setTabelaResultadoBuscaFooterNextButton(HtmlCommandButton hcb) {
        this.tabelaResultadoBuscaFooterNextButton = hcb;
    }
    private HtmlCommandButton tabelaResultadoBuscaFooterLastButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaResultadoBuscaFooterLastButton() {
        return tabelaResultadoBuscaFooterLastButton;
    }

    public void setTabelaResultadoBuscaFooterLastButton(HtmlCommandButton hcb) {
        this.tabelaResultadoBuscaFooterLastButton = hcb;
    }

   public BuscarUsuario() {
   }

   @Override
   public void init() {
      super.init();


      // <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
      // Initialize automatically managed components
      // *Note* - this logic should NOT be modified
      try {
         _init();
      } catch (Exception e) {
         log("BuscarVendedor Initialization Failure", e);
         throw e instanceof FacesException ? (FacesException) e : new FacesException(e);
      }


      limparCampos();
      FacesContext.getCurrentInstance().getExternalContext().getRequestMap().clear();

      campoLogin.setMaxlength(30);
      campoNomeUsuario.setMaxlength(50);
      campoSenha.setMaxlength(10);
      campoConfirmacaoSenha.setMaxlength(10);
      /*selectOneMenu1DefaultItems.clear();
      selectOneMenu1DefaultItems.add(new SelectItem(1,"Login"));
      selectOneMenu1DefaultItems.add(new SelectItem(2,"Todos"));*/

      limparCampos();

      selectOneMenu1DefaultItems3.clear();
      selectOneMenu1DefaultItems3.add(new SelectItem(1, "Administrador"));
      selectOneMenu1DefaultItems3.add(new SelectItem(2, "Gerente"));
      selectOneMenu1DefaultItems3.add(new SelectItem(3, "Usuario"));

      tipoBuscaDefaultItems.clear();
      tipoBuscaDefaultItems.add(new SelectItem(1, "Login"));
      tipoBuscaDefaultItems.add(new SelectItem(2, "Nome"));
      tipoBuscaDefaultItems.add(new SelectItem(3, "Todos"));
      tipoBusca.setValue(1);
      System.out.println(Integer.parseInt(tipoBusca.getValue().toString()));

      campoConfirmacaoSenha.setValue("");
      campoSenha.setValue("");

      setarCampos(true);
      this.controlaPaginacao(0);

      dataTable1Model.setWrappedData(null);

      btnAlterar.setRendered(false);

      btn_excluir.setRendered(false);
      btnConfirmarAlteracao.setRendered(false);

      panelPopUp.setRendered(false);

      btnBusca.setRendered(true);

   // </editor-fold>
   }

   @Override
   public void preprocess() {
   }

   @Override
   public void prerender() {
   }

   @Override
   public void destroy() {
   }

   protected RequestBean1 getview$RequestBean1() {
      return (RequestBean1) getBean("view$RequestBean1");
   }

   protected SessionBean1 getview$SessionBean1() {
      return (SessionBean1) getBean("view$SessionBean1");
   }

   protected ApplicationBean1 getApplicationBean1() {
      return (ApplicationBean1) getBean("ApplicationBean1");
   }

   public void tipoBusca_processValueChange(ValueChangeEvent vce) {

      if (Integer.parseInt(tipoBusca.getValue().toString()) == 3) {
         campoABuscar.resetValue();
         campoABuscar.setReadonly(true);
      } else {
         campoABuscar.setReadonly(false);
      }

   }

   public void campoABuscar_processValueChange(ValueChangeEvent vce) {

      //tratamento de excecao necessario se naum vai dar erro na excecucao
      if (Integer.parseInt(tipoBusca.getValue().toString()) == 1) {
         item = new SessionFacadeBuscarImplements().consultaSelectInputText(5, "login", campoABuscar.getValue().toString(), UsuarioVO.class);
      } else if (Integer.parseInt(tipoBusca.getValue().toString()) == 2) {
         item = new SessionFacadeBuscarImplements().consultaSelectInputText(5, "nome", campoABuscar.getValue().toString(), UsuarioVO.class);
      } else {
      }

   }

   protected ApplicationBean1 getview$ApplicationBean1() {
      return (ApplicationBean1) getBean("view$ApplicationBean1");
   }

   protected CadastrarPessoaFisica getview$CadastrarPessoaFisica() {
      return (CadastrarPessoaFisica) getBean("view$CadastrarPessoaFisica");
   }

   protected BuscarPessoaFisica getview$BuscarPessoaFisica() {
      return (BuscarPessoaFisica) getBean("view$BuscarPessoaFisica");
   }

   protected CadastrarPedido getview$CadastrarPedido() {
      return (CadastrarPedido) getBean("view$CadastrarPedido");
   }

   protected Login getview$Login() {
      return (Login) getBean("view$Login");
   }

   protected BuscarRepresentante getview$BuscarRepresentante() {
      return (BuscarRepresentante) getBean("view$BuscarRepresentante");
   }

   protected BuscarVendedor getview$BuscarVendedor() {
      return (BuscarVendedor) getBean("view$BuscarVendedor");
   }

   protected CadastrarPessoaJuridica getview$CadastrarPessoaJuridica() {
      return (CadastrarPessoaJuridica) getBean("view$CadastrarPessoaJuridica");
   }

   protected BuscarNotaFiscal getview$BuscarNotaFiscal() {
      return (BuscarNotaFiscal) getBean("view$BuscarNotaFiscal");
   }

   protected CadastrarVendedor getview$CadastrarVendedor() {
      return (CadastrarVendedor) getBean("view$CadastrarVendedor");
   }

  public String tabelaResultadoBusca_firstPageAction() {
        {
            dataTable1Model.setWrappedData(BuscarUsuario.getPaginacaoBusca().firstPage());
            tabelaResultadoBuscaFooterFirstButton.setDisabled(true);
            tabelaResultadoBuscaFooterPreviousButton.setDisabled(true);
            if (BuscarUsuario.getPaginacaoBusca().getTotalPaginas() > 1) {
                tabelaResultadoBuscaFooterNextButton.setDisabled(false);
                tabelaResultadoBuscaFooterLastButton.setDisabled(false);
      }
      return null;
   }
  }

    public String tabelaResultadoBusca_previousPageAction() {
        {
           dataTable1Model.setWrappedData(BuscarUsuario.getPaginacaoBusca().previousPage());
      if (BuscarUsuario.getPaginacaoBusca().getNumeroDaPagina() == 1) {
         tabelaResultadoBuscaFooterNextButton.setDisabled(true);
         tabelaResultadoBuscaFooterFirstButton.setDisabled(true);
         tabelaResultadoBuscaFooterPreviousButton.setDisabled(true);
      }
      if (BuscarUsuario.getPaginacaoBusca().getTotalPaginas() > 1) {
         tabelaResultadoBuscaFooterNextButton.setDisabled(false);
         tabelaResultadoBuscaFooterLastButton.setDisabled(false);
      }
      if (BuscarUsuario.getPaginacaoBusca().getNumeroDaPagina() >= 2) {
         tabelaResultadoBuscaFooterFirstButton.setDisabled(false);
      }
      return null;
   }
    }

    public String tabelaResultadoBusca_nextPageAction() {
       dataTable1Model.setWrappedData(BuscarUsuario.getPaginacaoBusca().nextPage());
      tabelaResultadoBuscaFooterPreviousButton.setDisabled(false);
      if (BuscarUsuario.getPaginacaoBusca().getTotalPaginas() == BuscarUsuario.getPaginacaoBusca().getNumeroDaPagina()) {
         tabelaResultadoBuscaFooterNextButton.setDisabled(true);
         tabelaResultadoBuscaFooterLastButton.setDisabled(true);
      }
      if (BuscarUsuario.getPaginacaoBusca().getNumeroDaPagina() >= 2) {
         tabelaResultadoBuscaFooterFirstButton.setDisabled(false);
      }
      return null;
   }

    public String tabelaResultadoBusca_lastPageAction() {
       dataTable1Model.setWrappedData(BuscarUsuario.getPaginacaoBusca().lastPage());
      if (BuscarUsuario.getPaginacaoBusca().getTotalPaginas() == BuscarUsuario.getPaginacaoBusca().getNumeroDaPagina()) {
         tabelaResultadoBuscaFooterLastButton.setDisabled(true);
         tabelaResultadoBuscaFooterNextButton.setDisabled(true);
         tabelaResultadoBuscaFooterPreviousButton.setDisabled(false);
         tabelaResultadoBuscaFooterFirstButton.setDisabled(false);
      }
      if (BuscarUsuario.getPaginacaoBusca().getNumeroDaPagina() >= 2) {
         tabelaResultadoBuscaFooterFirstButton.setDisabled(false);
      }
      return null;
   }

    public void controlaPaginacao(int controlePaginas) {
      if (controlePaginas <= 10) {
         tabelaResultadoBuscaFooterFirstButton.setDisabled(true);
         tabelaResultadoBuscaFooterPreviousButton.setDisabled(true);
         tabelaResultadoBuscaFooterNextButton.setDisabled(true);
         tabelaResultadoBuscaFooterLastButton.setDisabled(true);
      }
      if (controlePaginas > 10) {
         tabelaResultadoBuscaFooterNextButton.setDisabled(false);
         tabelaResultadoBuscaFooterLastButton.setDisabled(false);
         tabelaResultadoBuscaFooterFirstButton.setDisabled(true);
         tabelaResultadoBuscaFooterPreviousButton.setDisabled(true);
      }
   }

   public List<UsuarioVO> getListaDeUsuarios() {
      return listaDeUsuarios;
   }

   public void setListaDeUsuarios(List<UsuarioVO> listaDeUsuarios) {
      this.listaDeUsuarios = listaDeUsuarios;
   }

   public void setarCampos(boolean x) {
      campoId.setDisabled(x);
      campoLogin.setDisabled(x);
      campoSenha.setDisabled(x);
      nivelUsuario.setDisabled(x);
      campoNomeUsuario.setDisabled(x);
      campoConfirmacaoSenha.setDisabled(x);

   }

   public void limparCampos() {
      FacesContext.getCurrentInstance().getExternalContext().getRequestMap().remove("BuscaUsuario");
      campoId.resetValue();
      campoLogin.resetValue();
      campoSenha.resetValue();
      nivelUsuario.resetValue();
      campoNomeUsuario.resetValue();
      campoConfirmacaoSenha.resetValue();
      campoABuscar.setValue("");
   }

   public void reset() {
      limparCampos();
      setarCampos(true);
      btnAlterar.setRendered(false);
      btn_excluir.setRendered(false);
      btnConfirmarAlteracao.setRendered(false);

   }

   public String btnPopUp2_action() {
      panelPopUp.setRendered(false);
      return null;
   }

   public String btnAlterar_action() {


      this.setarCampos(false);
      btn_excluir.setRendered(false);
      btnAlterar.setRendered(false);
      btnConfirmarAlteracao.setRendered(true);

      return null;
   }

   public void controlaPopup(boolean renderedPopup, String textoPoup, boolean btn1Rendered, boolean btn2Rendered,
           String textobtn1, String textobtn2) {

      panelPopUp.setRendered(renderedPopup);
      textoPopUp.setValue(textoPoup);
      btnPopUp1.setValue(textobtn1);
      btnPopUp1.setRendered(btn1Rendered);
      btnPopUp2.setRendered(btn2Rendered);
      btnPopUp2.setValue(textobtn2);
   }

   public String btn_excluir_action() {

      controlaPopup(true, "Deseja excluir o usuário selecionado?!", true, true, "Sim", "Não");

      controle = false;

      return null;
   }

   public String linkAction1_action() {

      this.usuario = (UsuarioVO) tabelaResultadoBusca.getRowData(); //pega o objeto da linha selecionada
      campoId.setValue(usuario.getCodUsuario());
      campoNomeUsuario.setValue(usuario.getNome());
      campoSenha.setValue(usuario.getSenha());  //joga o nome do usuario no outputText
      campoLogin.setValue(usuario.getLogin());
      nivelUsuario.setValue(usuario.getNivel());


      setarCampos(true);
      btnAlterar.setRendered(true);
      btn_excluir.setRendered(true);
      btnConfirmarAlteracao.setRendered(false);
      ValidaCamposObrigatorios valida = new ValidaCamposObrigatorios();

           valida.verificaCampoVazio(campoNomeUsuario);
           valida.verificaCampoVazio(campoLogin);
           valida.verificaCampoVazio(campoSenha);
      return null;  //retorna null para atualizar a tela

   }

   public String btnBuscar_action() {

      SessionFacadeBuscarImplements facade_busca = new SessionFacadeBuscarImplements();
      switch (Integer.parseInt(tipoBusca.getValue().toString())) {
         case 1://busca por login
            this.setListaDeUsuarios(facade_busca.buscaPorNome("login", campoABuscar.getValue().toString(), UsuarioVO.class));
            dataTable1Model.setWrappedData(this.getListaDeUsuarios());
            break;
         case 2://busca por nome
            this.setListaDeUsuarios(facade_busca.buscaPorNome("nome", campoABuscar.getValue().toString(), UsuarioVO.class));
            dataTable1Model.setWrappedData(this.getListaDeUsuarios());
            break;
         case 3://busca todos
            this.setListaDeUsuarios(facade_busca.buscarTodos("codUsuario", UsuarioVO.class));
            dataTable1Model.setWrappedData(this.getListaDeUsuarios());
            break;
         default:
            System.out.println("Valor inválido do combobox para o tipo da consulta.");
            break;
      }//fim switch
       this.setPaginacaoBusca(new PaginacaoListaDezEmDez(this.getListaDeUsuarios()));
        //defini o estado dos botoes da tabela de busca
        this.controlaPaginacao(this.getListaDeUsuarios().size());
      return null;
   }

   public String btnPopUp1_action() {
       if(controlaSaida==1){
          return "voltar";
      }
      if (controle == true) {
         SessionFacadeAlterarImplements facadeAlterar = new SessionFacadeAlterarImplements();
         try {

            if (facadeAlterar.alterarUsuario(Integer.parseInt(campoId.getValue().toString()), campoLogin.getValue().toString(),
                    Integer.parseInt(nivelUsuario.getValue().toString()),
                    campoSenha.getValue().toString(), campoNomeUsuario.getValue().toString())) {
               btn_excluir.setRendered(false);
               dataTable1Model.setWrappedData(null);
               btnAlterar.setRendered(false);
               controlaPopup(true, "Usuario alterado com sucesso!", false, true, "", "OK");
               this.controlaPaginacao(0);
               reset();
            }
         } catch (Exception e) {

            controlaPopup(true, "O nome que você está tentando alterar já existe", false, true, "", "OK");
            System.err.println("O nome que você está tentando alterar já existe");
         }
         return null;
      } else {
         SessionFacadeRemoverImplements remover = new SessionFacadeRemoverImplements();

         try {
            remover.removerUsuario(usuario);
            btn_excluir.setRendered(false);
            btnAlterar.setRendered(false);
            controlaPopup(true, "Usuário excluido com sucesso!", false, true, "", "OK");
            this.controlaPaginacao(0);
            dataTable1Model.setWrappedData(null);
            btnPopUp1.setRendered(false);

         } catch (Exception e) {
            controlaPopup(true, "Erro:" + e.getMessage() + "caused by: " + e.getStackTrace(), false, true, "", "OK");
            System.err.println("Erro:" + e.getMessage() + "caused by: " + e.getStackTrace());
         }
         return null;
      }

   }

   public String btnConfirmarAlteracao_action() {
       valida.verificaCampoVazio(campoNomeUsuario);
       valida.verificaCampoVazio(campoLogin);
       valida.verificaCampoVazio(campoSenha);

       if(valida.verificaCampoVazio(campoNomeUsuario)||valida.verificaCampoVazio(campoLogin)||valida.verificaCampoVazio(campoSenha))
           controlaPopup(true,"Campos Obrigatórios!",false,true,"","Ok");


           else if (!campoSenha.getValue().toString().equals(campoConfirmacaoSenha.getValue().toString())){
                controlaPopup(true,"Senha Incorreta, verifique se as senhas estão iguais",false,true,"","Ok");
                campoConfirmacaoSenha.setValue("");
                campoSenha.setValue("");
                }
                else {
                controlaPopup(true, "Deseja alterar o usuário selecionado?", true, true, "Sim", "Não");
                controle = true;
                }
      return null;
   }

     //Branco - Campos
   public void campoBranco(){
       ValidaCamposObrigatorios valida = new ValidaCamposObrigatorios();
       valida.limpaCores(campoLogin);
       valida.limpaCores(campoNomeUsuario);
       valida.limpaCoresSenha(campoSenha);


   }

   public String linkCancelar3_action() {
      reset();
      this.campoBranco();
      return null;
   }

   public String panelLayoutLogo_action() {
      //return null means stay on the same page
      return "voltar";
   }

   //Action-Voltar
    public String btn_voltar_action() {
        controlaSaida = 1;
        controlaPopup(true,"Deseja Sair ?",true,true,"Sim","Não");
        return null;
    }
}